#include <stdio.h>
#include <mysql/mysql.h>
#include <string.h>


int main(int argc, char const *argv[])
{
    int ret = mysql_library_init(argc, (char **)argv, NULL); // mysql库的使用初始化
    if(ret != 0){
        perror("mysql lib init");
        return -1;
    }    

    printf("---mysql lib init ok--\n");

    MYSQL db;  // 定义mysql数据库对象
    if(mysql_init(&db) != NULL){
        printf("数据库对象初始化成功!\n");
        
        // 连接数据库:  1）本地域套接字  2）网络域套接字
        // char *sock_path = "/var/run/mysqld/mysqld.sock";
        if(mysql_real_connect(&db, "10.35.161.14", "root", "root", "cloudfs", 3306, NULL,0) != NULL){
            printf("---MYSQ数据库连接成功--\n");

            // 扩展： 设置数据库客户端的字符集
            mysql_set_character_set(&db, "utf8");

            // 编写ddl sql语句
            // 需求： 创建t_user和t_user_login两个表的视图 v_login,  用于用户登录查询使用
            char *v_login_sql = "create or replace view  v_login as (select a.*, b.auth_string from t_user a join t_user_login b on (a.id=b.user_id))";
            ret = mysql_real_query(&db, v_login_sql, strlen(v_login_sql)); // 执行sql语句（DDL, DML, DQL）
            if(ret == 0){
                printf("v_login视图创建成功!\n");
            }else{
                printf("创建视图失败: %s \n",  mysql_error(&db));
            }

            mysql_close(&db); // 关闭数据库连接
        }
    }


    mysql_library_end(); // mysql库的结束
    return 0;
}






